home *** CD-ROM | disk | FTP | other *** search
- # $Id: Namespace.pm,v 1.4 2000/08/24 16:23:02 matt Exp $
-
- package XML::XPath::Node::Namespace;
-
- use strict;
- use vars qw/@ISA/;
-
- @ISA = ('XML::XPath::Node');
-
- package XML::XPath::Node::NamespaceImpl;
-
- use vars qw/@ISA/;
- @ISA = ('XML::XPath::NodeImpl', 'XML::XPath::Node::Namespace');
- use XML::XPath::Node ':node_keys';
-
- sub new {
- my $class = shift;
- my ($prefix, $expanded) = @_;
-
- my $pos = XML::XPath::Node->nextPos;
-
- my @vals;
- @vals[node_global_pos, node_prefix, node_expanded] =
- ($pos, $prefix, $expanded);
- my $self = \@vals;
-
- bless $self, $class;
- }
-
- sub getNodeType { NAMESPACE_NODE }
-
- sub isNamespaceNode { 1; }
-
- sub getPrefix {
- my $self = shift;
- $self->[node_prefix];
- }
-
- sub getExpanded {
- my $self = shift;
- $self->[node_expanded];
- }
-
- sub getValue {
- my $self = shift;
- $self->[node_expanded];
- }
-
- sub getData {
- my $self = shift;
- $self->[node_expanded];
- }
-
- sub string_value {
- my $self = shift;
- $self->[node_expanded];
- }
-
- sub toString {
- my $self = shift;
- my $string = '';
- return '' unless defined $self->[node_expanded];
- if ($self->[node_prefix] eq '#default') {
- $string .= ' xmlns="';
- }
- else {
- $string .= ' xmlns:' . $self->[node_prefix] . '="';
- }
- $string .= XML::XPath::Node::XMLescape($self->[node_expanded], '"&<');
- $string .= '"';
- }
-
- 1;
- __END__
-
- =head1 NAME
-
- Namespace - an XML namespace node
-
- =head1 API
-
- =head2 new ( prefix, expanded )
-
- Create a new namespace node, expanded is the expanded namespace URI.
-
- =head2 getPrefix
-
- Returns the prefix
-
- =head2 getExpanded
-
- Returns the expanded URI
-
- =head2 toString
-
- Returns a string that you can add to the list
- of attributes of an element: xmlns:prefix="expanded"
-
- =cut
-